// samsting : this file is auto create.

#ifndef ALIYUN_R_kvstore_DescribePriceResponse_H_
#define ALIYUN_R_kvstore_DescribePriceResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace R_kvstore {

class DescribePriceResponse : public AcsResponse {
public:
  DescribePriceResponse();

  class Rule {
    friend class DescribePriceResponse;
  public:
    int64 GetRuleDescId(void) const;
    const string& GetName(void) const;
    const string& GetTitle(void) const;
  private:
    int64  RuleDescId_;
    string Name_;
    string Title_;
  }; // Rule 


  class Order {
    friend class DescribePriceResponse;
  public:
    const std::vector<RuleId>& GetRuleIds(void) const;
    float GetOriginalAmount(void) const;
    float GetTradeAmount(void) const;
    float GetDiscountAmount(void) const;
  private:
    std::vector<RuleId> RuleIds_;
    float   OriginalAmount_;
    float   TradeAmount_;
    float   DiscountAmount_;
  }; // Order 

  const std::vector<Rule>& GetRules(void) const;
  const Order& GetOrder(void) const;

private:
  std::vector<Rule> Rules_;
  Order Order_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace R_kvstore {

#endif // #ifndef ALIYUN_R_kvstore_DescribePriceResponse_H_

// end of file 
